//  @ Project : GagalPanen
//  @ File Name : itemslot.hpp
//  @ Date : 3/9/2011
//  @ Author : Denis
//
//


#if !defined(_ITEMSLOT_H)
#define _ITEMSLOT_H

#include <assert.h>
#include <vector>
#include "item.hpp"
#include "gameinterface.hpp"

class ItemSlot {
public:
  // normal constructor
  ItemSlot(GameInterface* game, Item* original_item);

  // load game constructor
  ItemSlot(GameInterface* game, std::ifstream& is);

  virtual void save(std::ofstream& os);

  virtual ~ItemSlot();
  
  void add(Item* item);
  Item* getItem();
  int numberOfItems();
  void removeItem(Item* item);
  bool contains(Item* item);
private:
  GameInterface* game_;
  std::vector<Item*> items_;
};

#endif  //_ITEMSLOT_H
